package com.jeesite.modules.exam.socreResult.dao;

import com.jeesite.common.dao.CrudDao;
import com.jeesite.common.mybatis.annotation.MyBatisDao;
import com.jeesite.modules.exam.assessment.entity.DcSupExamInfo;
import com.jeesite.modules.exam.quota.entity.DcSupExamQuotaAdd;
import com.jeesite.modules.exam.quota.entity.DcSupExamSumQuotaInfo;
import com.jeesite.modules.exam.score.entity.DcSupExamScore;
import com.jeesite.modules.exam.score.entity.DcSupExamSumScore;
import com.jeesite.modules.exam.socreResult.dto.CheckIndexDataDto;
import com.jeesite.modules.exam.socreResult.dto.ExamUnitNameDto;
import com.jeesite.modules.exam.socreResult.dto.GradingAndResultsDto;
import io.lettuce.core.dynamic.annotation.Param;

import java.util.List;
import java.util.Map;
import java.util.Set;

@MyBatisDao
public interface DcSupExamSumScoreResultDao extends CrudDao<DcSupExamSumScore> {
    List<ExamUnitNameDto> queryUnits(ExamUnitNameDto examUnitNameDto);

    Map<String,String> checkInfo(@Param("examId")String examId, @Param("year")String year,@Param("orgCode") String orgCode);

    /**
     * 查询考核结果公示---单项指标 和 关键指标
     * @param examId 考核任务id
     * @param year 考核年份
     * @param orgCode 考核机构
     * @return
     */
    List<DcSupExamSumQuotaInfo> queryExamSumScore(@Param("examId")String examId, @Param("year")String year, @Param("orgCode") String orgCode);

    /**
     * 自评考核数据指标数据查看
     * @param examId 考核任务id
     * @param year 考核年份
     * @return
     */
    List<CheckIndexDataDto> checkIndexData(@Param("examId")String examId, @Param("year")String year,@Param("orgCode")String orgCode);

    /**
     * 查询考核结果公示--- 加减分项
     * @param examId 考核任务id
     * @param year 考核年份
     * @param orgCode 考核机构
     * @return
     */
    List<DcSupExamQuotaAdd> examAddAndSubSumScore(@Param("examId")String examId, @Param("year")String year, @Param("orgCode")String orgCode);

    /**
     * 查询评分结果数据表
     * @return
     */
    List<DcSupExamInfo> listData(DcSupExamInfo dcSupExamInfo);

    List<DcSupExamScore> validationExist(@Param("examId")String examId, @Param("year")String year,@Param("orgCode") String orgCode);

    /**
     * 查询指标展示页面机构单位评分状态
     * @param examId
     * @return
     */
    Set<String> queryIsQuotaScore(@Param("examId")String examId);
}
